package com.jajahome.pop;

import android.app.Activity;
import android.graphics.Color;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

import com.jajahome.R;
import com.jajahome.constant.Constant;
import com.jajahome.feature.H5Act;
import com.jajahome.util.DensityUtil;
import com.jajahome.widget.NoLineClickSpan;

/**
 * Created by lhz.
 * Date: 2020-06-24
 * Time: 22:10
 */
public class UserPolicyPop extends BasePopWindow {
    OnUserPolicySelectedListener listener;

    public UserPolicyPop(Activity activity, OnUserPolicySelectedListener listener) {
        super(activity);
        this.listener = listener;
    }

    @Override
    public int getLayoutId() {
        return R.layout.dialog_user_policy;
    }

    @Override
    public int getWidth() {
        return DensityUtil.dip2px(mActivity, 360);
    }

    @Override
    public int getHeight() {
        return ViewGroup.LayoutParams.WRAP_CONTENT;
    }

    @Override
    public void initView() {
        this.setOutsideTouchable(false);
        setFocusable(false);
        TextView tvPolicy = mRootView.findViewById(R.id.tv_policy);
        setPolicyView(tvPolicy);
        mRootView.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                return false;
            }
        });
        mRootView.findViewById(R.id.btn_refuse).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
              //  Toast.makeText(mActivity, "未同意用户隐私协议，应用已退出！", Toast.LENGTH_SHORT).show();
                if (listener != null) {
                    listener.onUserPolicySelected(false);
                }
            }
        });
        mRootView.findViewById(R.id.btn_agree).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
                if (listener != null) {
                    listener.onUserPolicySelected(true);
                }
            }
        });
        mRootView.findViewById(R.id.tv_policy_link).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                H5Act.gotoH5(mActivity, Constant.PRIVACY_AGREEMENT, "隐私政策");
            }
        });
        mRootView.findViewById(R.id.tv_user_link).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                H5Act.gotoH5(mActivity, Constant.USER_AGREEMENT, "用户协议");
            }
        });
    }

    private void setPolicyView(final TextView tv) {
        String strType1 = "感谢您使用JAJAHOME，我们非常重视您的个人信息和隐私保护，特向您说明如下：\n" +
                "1、在您使用服务前，我们会收集并使用到您的个人信息。\n" +
                "2、我们会严格按照政策要求保护您的个人信息。\n" +
                "3、未经您的允许，我们不会向任何第三方披露您的个人信息。\n" +
                "4、为服务用户的目的，我们可能通过使用您的个人信息，向您提供您感兴趣的信息。\n" +
                "5、依据您的个人意愿或法律的规定全部或部分的披露您的个人信息时我们才会公开披露您的信息。\n" +
                "6、如我们停止运营产品或服务，我们将及时停止继续收集您个人信息的活动，对所持有的个人信息进行删除。\n" +
                "7、我们通过对用户密码进行加密等安全措施确保您的信息不被滥用。";
        final SpannableStringBuilder style = new SpannableStringBuilder();
        style.append(strType1);
        SpannableString clickStrNeed = new SpannableString("《用户协议&隐私政策》");
        clickStrNeed.setSpan(new ForegroundColorSpan(Color.parseColor("#FFD500")), 0, clickStrNeed.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        clickStrNeed.setSpan(new NoLineClickSpan(new NoLineClickSpan.OnSpanClickedListener() {
            @Override
            public void onClicked(View view) {
                Log.e("onClicked", "onClicked");
            }
        }), 0, clickStrNeed.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        //style.append(clickStrNeed);
        //style.append("查看完整的协议内容，请仔细阅读，在充分理解的基础上作出您认为适当的选择。如有疑问，请及时与我们联系。");
        tv.setText(style);
        tv.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件
    }

    public interface OnUserPolicySelectedListener {
        void onUserPolicySelected(boolean agree);
    }
}
